package main

// 在 Go 语言中枚举值的声明典型方式是通过 const 和 iota 来声明。由于 0 是默认值，所以枚举值最好从一个非 0 值开始，比如 1。

type Operation int

const (
	// Good
	Add Operation = iota + 1
	Subtract
	Multiply
)
const (
	// Bad
	Add2 Operation = iota + 1
	Subtract2
	Multiply2
)

// 特殊情况: 0 值是预期的默认行为的时候，枚举值可以从 0 开始
type LogOutput int

const (
	LogToStdout LogOutput = iota
	LogToFile
	LogTORemote
)

func main() {
}
